1. Technical Field
The present invention relates to data stream processing and more particularly to systems and method for solving the problem of stream processing systems environment (SPSE) composition to provide stream processing services in an efficient way.
2. Description of the Related Art
Systems for processing streams of data utilize continuous streams of data as inputs, process the data in accordance with prescribed processes and produce ongoing results. Examples of stream processing systems may include System S from IBM™; StreamBase™ from StreamBase Systems™, Inc.; and Borealis™ from MIT and Brown University. In such a system, applications are composed of independent processing elements that operate on streams of data objects by filtering, combining, transforming, and otherwise analyzing the data. These operations can take the form of database operations such as merging streams and selecting tuples that match specific criteria, or they can be more general application-specific logic.
A stream processing system (SPS) can be owned, operated, and used for the benefit of a single entity, such as a corporation or government organization. The SPS can also be owned and operated as a service, in which one organization operates the system for the benefit of other organizations that pay for the use of the stream processing system.
A service provider can be a single entity owning all the components of the SPS (infrastructure, analytics, data sources), or the service provider can represent a collection of different entities owning different components of the SPS. We refer to these entities as service-component providers (SCPs). The infrastructure includes all the hardware, software and networking needed for the service. Further, each of the components may be collectively owned by different providers.
A stream processing service environment (SPSE) can be visualized as a composition of different service-components possibly owned by a same or different SCPs. These SCPs and a customer (who receives the service) are collectively referred to as stakeholders.
The service elements of a stream processing service include service components, the SCPs that own the service components and the customer. Service components may include data sources, analytics, and infrastructure. SCPs may include data source providers, analytics providers, and physical infrastructure providers. A customer is a service subscriber.
Heterogeneity of ownership of service components provides a challenge in coming up with an efficient composition of different SCPs to provide stream processing service to customers. The problem is further aggravated as different SCPs have different and invariably conflicting interests in being part of the composition. Customer interests can also be taken into account during service composition. The difficulty then is not to come up with a SPSE that maximizes profit of a single SCP but a SPSE that is universally acceptable to all the stakeholders, and such a SPSE should balance the interests of different stakeholders.